1. Field of the Invention
Embodiments of the invention generally relate to streaming media services. More specifically, embodiments of the invention relate to techniques for determining and improving user quality of experience, as measured relative to a single quality of experience metric.
2. Description of the Related Art
A user's quality of experience watching streaming video depends on many factors. For example, factors that may influence user experience include the time to start video playback, the quality of the audio/video presented (initially and averaged over time), the time required to reach a stable video quality level, the amount (and frequency) of quality level switching, the number of times video playback has to pause in order to re-buffer, the time required to recover following a re-buffer, etc. Further, the context in which streaming video content is viewed can change what influences a user's quality of experience. For example, a fast startup time for a video presented at a lower quality may lead to a good user experience for content streamed on a mobile device (as opposed to waiting long periods for buffering, or having frequent changes in video quality). In contrast, presenting a user with a low-quality video, even one that starts quickly, may lead to a poor user experience for a user watching the same streaming video content at home on a high-definition television. In such a case, fast startup times may be far less important to the latter user's overall quality of experience than consistent, high-quality video.
As this relatively simple example illustrates, a wide variety of factors may impact the overall quality of experience for a viewer consuming streaming video content. However, even independent of viewing context, improving one metric frequently comes at the expense of another. For example, one way to optimize video startup time is to start streaming content with a lower quality bit rate. Doing so improves startup time, but does so at the expense of initial stream quality. The quality of the video is then increased as available bandwidth will allow. Another way to optimize startup time is to carefully manage the timing of initial data download and decoding, but this may increase the chance of needing to re-buffer the video at the start of user's viewing session. More generally, given the wide and frequently conflicting settings for video streaming (both at the client and server), it is generally unclear what changes will tend to result in an improved overall viewing experience.